\documentclass[10pt]{article}
\usepackage[utf8]{inputenc}
\begin{document}
\title{[Document] Objectius i Planning}
\part{Objectius}
\paragraph{El programa resultant ha d'assolir els requisits següents}
\begin{enumerate}
\item
El programa ha de permetre visualitzar els fitxers continguts en un ``subarbre''independentment de la estructura de directoris que aquest presenti.
\item
El programa ha de permetre visualitzar els fitxers filtrats i/o ordenats per criteris temporals. A més haurà de permetre realitzar les operacions que qualsevol navegador proporciona sobre els fitxers.
\item
El programa ha de permetre a l'usuari seleccionar una data i un interval de dates de manera clara i intuïtiva.
\item 
L'usuari també ha de poder controlar certes preferències personalitzables, com ara la quantitat de memòria de disc que es permet utilitzar al programa per emmagatzemar dades pre-calculades, i sobretot ha de permetre a l'usuari aplicar certs filtres d'exclusió de tipus de fitxers o de carpetes que no han de ser analitzades ni mostrades. (un clar exemple seria obviar les carpetes que comencen per . o nomes visualitzar els fitxers de text o de imatge, etc. 
Això ha de ser configurable de manera intuïtiva i senzilla també. 
Jo faria aquests filtres a dos nivells. Un nivell d'exclusió permanent que es configuri mitjançant un menú o editant un fitxer de configuració directament. I que impliqui que els fitxers que compleixin els paràmetres no siguin analitzats mai.
I un altre nivell que permeti filtrar només en tremes de ``visualització'' els fitxers (més que res per facilitar la feina a l'usuari i per incrementar el temps de resposta).
\item
El programa ha de ser visualment coherent amb l'escriptori. això s'aconseguirà seguint els estàndards d'icones i aspecte que utilitza l'xfce entre d'altres. 
\item{OBJECTIU ADDICIONAL AFEGIT}
El programa ha de ser executable en el nombre màxim de maquines amb Linux/UNIX, incloent-hi quantes més màquines antigues millor, ja que en els ordinadors "vells" i, per tant amb més història i "recorregut" és on te més sentit poder seleccionar i discernir entre els fitxers i documents temporalment.
Aquest objectiu s'assolirà {\bf reduint al màxim les dependències} del programa, procurant sempre i en tot cas que la "universalitat" no suposi mai perdre "usabilitat", i/o proporcionant alternatives a les possibles interfícies gràfiques de manera que sigui possible utilitzar el programa en maquines antigues, però, alhora permetent que els que requereixin un aspecte gràfic més treballat no es vegin forçats a usar una sola versió que tindria un aspecte "antic".
Això implica crear una interfícies per a consola a banda de la interfície gràfica, com a mínim, però també es plantejarà la possibilitat de fer certs "graus" d'interfícies gràfiques.
\end{enumerate}
\part{Planificació}
\paragraph{Subdivisió en apartats}
\begin{enumerate}
\item
Definir un entorn de desenvolupament i preparar-lo. Definir també les eines a utilitzar.
\item
Definir una representació pels fitxers (abstracció de les dades necessàries pel programa) i triar una estructura per emmagatzemar-los i per poder-los tractar ràpidament. Així mateix escollir una representació per les dates (a priori proposo triar una representació completament estàndard i utilitzar la classe mateix que proporcionals biblioteca GObject, per exemple).
\item
Implícitament en el pas anterior se sobreentén que també cal definir els criteris temporals rellevants que el programa permetrà utilitzar. Com és ara la data de modificació dels fitxers, la data de creació, etc. En aquest punt cal determinar si es vol que el programa mantingui un registre de dates o paràmetres addicionals que el programa s'encarregui de gestionar i siguin pròpies d'ell (com per exemple guardar una mena de log de data-numero de revisió pels fitxers versionats per l'svn, o mantenir guardades totes les dates d'accés a un fitxer, o fins i tot guardar un registre de canvis i esdevenir així una mena de pseudo-subversion arcaic).
\item
Fer un programa que donat un path \textit{P} i una serie de configuracions (d'acord amb les necessitats exposades a l'apartat d'objectius) retorni tots els fitxers de tots els subdirectòris que formen l'arbre del qual \textit{P} n'és la arrel en el format convingut en el pas anterior (2). (el programa Walze ha de complir els objectius definits a l'apartat Objectius).
\item
Fer un programa que donat un conjunt d'informació de fitxers i dues dates (en els formats convinguts respectivament a l'apartat 2) retorni un subconjunt de fitxers (aquí la estructura escollida per la representació pot ser determinant per escurçar el temps de carrega).
\item
Fer un programa que sigui capaç de, donat un conjunt d'informació de fitxers, representar-los visualment mimetitzant la aparença i el comportament d'un navegador de fitxers que compleixi amb les especificacions de freedesktop.org (com ara thunar).
\item
Dissenyar una interfície que permeti a l'usuari seleccionar fàcilment i de forma intuïtiva els paràmetres de configuració i les dates de principi i final.
\end{enumerate}
\end{document}
